Group communication and collaboration method

ABSTRACT

A system for communicating information among participants in a distributed application having peripheral communications devices comprises a central agent having two-way links to the peripheral devices, a notice generator triggered by an information input from one participant directed to at least one other participant, the notice generator generating a notice for the other participant(s) and pushing the notice to the peripheral device of the other participant(s) only if the information input was directed to the other participant(s), a central storage medium storing the information input, and an access channel by which the other participant(s) may receive the information input only if the other participant(s) responds to the notice. The links may form a computer network, cable network, telecommunications network, wireless network, or other network, or a combination. Additional information inputs may be associated with the first information input or may modify or delete it.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 09/709,441 filed Nov. 13, 2000, now allowed, which is a continuation-in-part of U.S. patent application Ser. No. 09/041,599, filed Mar. 13, 1998. Both of these prior applications are incorporated herein by reference in their entirety.

FIELD

The technology herein relates to communication and collaboration tools that allow groups to share information across time and space using computer and other communication channels. The technology may be incorporated into the design of products such as groupware software and communications services.

BACKGROUND

A conventional approach to the design of communication and collaboration products, especially of groupware, is a centripetal method, i.e., group members go to a central area in order to retrieve and exchange data and information. For example, in the Internet, group members converge on a server in order to communicate and collaborate.

The previous approaches taken in this field can be categorized in two different product groups:

(1) Centripetal method: Examples of the use of this method include: IBM's Lotus Notes and Domino; Microsoft's Exchange and NetMeeting; Netscape's Virtual Office by Concentric; Radnet's Webshare; Novell's GroupWise; Thuridion's Crew; IntraACTIVE's In Tandem; Linkstar's HotOffice; Changepoint's Involv; Internet Media Inc.'s 3-2-1 Intranet; and others. All of these products generally require group members to remember to go to a central area (a server) in order to retrieve and exchange data and information. This centripetal design leads producers to develop products by increasing the speed of connection and facilitating access to the central site of communication and collaboration. Using the client-server infrastructure, products are either proprietary servers, enhanced software clients, or both.

(2) Narrowcasting method: This method is exemplified in the following products: PointCast's Client and Server; Marimba's Castanet; Progressive Network's Real Clients and Servers; Microsoft's NetShow; Netscape's Browser and Media Server; Wayfarer's INCISA; and all listserve products. All of these products use the narrowcasting model of one-to-many communication. Group members (many) have to remember to “tune-in” or attend the narrowcasted content served by a central site (one), without knowing whether or not new or relevant information is there.

In both the centripetal and narrowcasting approaches, group members report and remember to report to a central area for communication and collaboration. Such methods assume that value is added by improving the way group members go about retrieving information that updates at a central location. Collaborative value is stored in the central repository. Group members still must actively go to the central resource to get any information or value from the group. For example, in the Internet, a group member would need to remember to log into a server for a videoconferencing appointment at a designated time. It would be an improvement to such a system for appointments and reminders for appointments to be “pushed” to the group member's awareness via e-mail with a Web hyperlink to the videoconference, via a narrowcast of the appointment, or other technologies that drive the information outward to the group member.

In the digital era, the computer has increasingly become a substitute for physical presence and interaction. Designers, however, have focused on providing cheaper and quicker access and offering additional functionality such as manipulation of the data and information sought. In the attempt to mimic human interaction such as congregating in a town hall for a meeting (a centripetal method) via electronic means, the power of the electronic medium to conduct the meeting outside of the town hall has not been given sufficient attention.

GENERAL DEFINITIONS

A “computer” refers to any apparatus that is capable of accepting a structured input, processing the structured input according to prescribed rules, and producing results of the processing as output. Examples of a computer include: a computer; a general-purpose computer; a supercomputer; a mainframe; a super mini-computer; a mini-computer; a workstation; a microcomputer; a server; an interactive television; a hybrid combination of a computer and an interactive television; and such devices as personal digital assistants (PDAs) and telephone systems that include microbrowsers. A computer can have a single processor or multiple processors, which can operate in parallel and/or not in parallel. A computer also refers to two or more computers connected together via a network for transmitting or receiving information between the computers. An example of such a computer includes a distributed computer system for processing information via computers linked by a network.

A “computer-readable medium” refers to any storage device used for storing data accessible by a computer. Examples of a computer-readable medium include: a magnetic hard disk; a floppy disk; an optical disk, like a CD-ROM or a DVD; a magnetic tape; a memory chip; and a carrier wave used to carry computer-readable electronic data, such as those used in transmitting and receiving e-mail or in accessing a network.

“Software” refers to prescribed rules to operate a computer. Examples of software include: software; code segments; instructions; computer programs; and programmed logic.

A “computer system” refers to a system having a computer, where the computer comprises a computer-readable medium embodying software to operate the computer.

A “network” refers to a number of computers and associated devices that are connected by communication facilities. A network involves permanent connections, like cables, or temporary connections, like those made through telephone or other communication links. Examples of a network include: an internet, such as the Internet; an intranet; a local area network (LAN); a wide area network (WAN); a cable network; a wireless network; a telephone network; and a combination of networks, such as an internet and an intranet.

An “information storage device” refers to an article of manufacture used to store information. An information storage device has different forms, for example, paper form and electronic form. In paper form, the information storage device includes paper printed with the information. In electronic form, the information storage device includes a computer-readable medium storing the information as software, for example, as data.

SUMMARY

Exemplary non-limiting illustrative implementations herein referred to as a Centrifugal Communication and Collaboration Method (CCCM), reverse the established centralized design of communication and collaboration products, especially of groupware software. An example CCCM implementation “pushes” out to participants in a distributed application the data and information contained in a conceptual or actual central area. This conceptual or actual central area may be located in a distinct location, or it may be distributed among computer apparatus located at the participants' sites. The centrifugal flow of the exemplary CCCM implementation is distinct from the current centripetal design of such products, and provides numerous advantages.

A centrifugal arrangement improves the ability of groups of participants to communicate, collaborate, exchange information, and to generally participate in distributed applications because of its focus on the individual participants rather than a central meeting site. The exemplary CCCM implementation creates value in interactive group-oriented software applications by distributing the accumulated group knowledge and activity to the individual participants, rather than forcing the participants to go to the central source of data and information where the wealth of the group is stored. Previous applications focused on better, cheaper, and faster ways to bring participants together in a central location. The exemplary CCCM implementation focuses on using the interactive capabilities of networks to maintain value among the participants, not only at a central repository of information and data.

The active, centrifugal delivery to participants of updated information relevant to the participants, such as the actions of other participants, the status of their pending group activities, the status of their requested information, etc., simplifies the process by which participants use software programs to gain and manipulate information over networks. Because the information is pushed, there is minimal need to converge at a central repository.

With the exemplary CCCM implementation, the dynamic is a centrifugal push. The flow of information among participants in a distributed application using CCCM-enabled communication and collaboration software is outward in direction. The exemplary CCCM implementation takes the value of the central resource out to the individual users. The participants converge at the centrifugal core (which, again, may physically be either centralized or distributed) only briefly. They are notified when they must do so, and their convergence is facilitated by shortcuts that make it easier to converge. Collaborative activity is moved away from the central core out through the network to the participant's peripheral location. For example, in an Internet-based exemplary illustrative implementation, participants automatically receive from a server the data necessary to communicate and collaborate as a group.

The exemplary illustrative non-limiting CCCM implementation is an integrative method. Using a computer network, it employs software code and servers to distribute content. In an internetworked environment, if group collaboration application software resides together with an HTTP server, then pushing out the group-generated information by e-mail employs a mail server, a network connection of all participants, and software code within the group collaboration software that calls on the mail server to push content. Or, if the group-generated information is distributed by narrowcasting, then a narrowcasting server is used, from which narrowcasting clients of participants receive information feed. The group collaboration software, through added software code, then communicates with the narrowcasting server to deliver group-generated information to participants.

The exemplary non-limiting illustrative CCCM implementations herein reverse the basic assumption about how group value is created and information is shared. Rather than focusing on bringing participants into a central location in a better, cheaper, and faster way, the exemplary CCCM implementations empower the participants by providing them information right where they are and leave them to decide whether or not to go to the central site at all.

The content in the exemplary CCCM implementation is provided and continuously changed by the participants. The traditional push system is broadcasting, like television and radio. In this traditional model, preset content is sent to all viewers who have means to receive it, like television and radio sets. Viewers must be there at the same time as the broadcast to receive the content they want, or they must record it at the time of broadcast.

The general Internet model of push is narrowcasting. As with broadcasting, the source(s) of content are decided by the narrowcaster, and filtered according to the users' predetermined criteria as to what will be received.

The content of the exemplary illustrative non-limiting CCCM implementation that is continually being “pushed out” is generally not a standard collection of information selected by a central narrowcaster, but is a custom mix of information that remains in flux. The information that is pushed is created and continuously modified by the participants themselves. Messages and other information are unique to and generated by participants, and are determined by the role of each participant in the particular group application.

Rather than substitute an electronic model for the physical model of a meeting place, the exemplary CCCM implementation enhances the model of group interaction by taking advantage of the possibilities of virtual and digital communication and collaboration. While all other models took the previous “real world” example of a meeting hall, developed its cyberspace equivalent, then improved upon the cyberspace equivalent, the exemplary CCCM implementation uses the power of electronic methods to provide centrifugal flow that enhances the physical model.

The exemplary CCCM implementation removes the need for individuals to gather at a central location to find out what is there, what has changed since they were last there, and what they can do there. All group value no longer resides in the central resource. The exemplary CCCM implementation takes the dynamic group information from the center as it is changing with the contributions of its diverse participants and distributes it out to those participants.

In one exemplary illustrative non-limiting implementation, a system for communicating information among participants in a distributed application comprises:

-   -   for each participant, a peripheral device capable of         transmitting and receiving information; and     -   a central agent comprising:         -   two-way links to the peripheral devices capable of receiving             and transmitting information,         -   a notice generator,         -   a notice sender, and             -   a central storage medium able to store information                 inputs from participants, the central storage medium                 storing a first information input from an inputting                 participant directed to at least one receiving                 participant; the notice generator, responsive to said                 first information input, being able to generate a notice                 selectively for the at least one receiving participant                 and to push the notice to the notice sender, the notice                 comprising a channel to a memory location of said first                 information input in the central storage medium; and the                 notice sender, responsive to the notice pushed from the                 notice generator, being able to send the notice                 selectively to the peripheral devices of the receiving                 participant; whereby the receiving participant can                 access said first information input directly using the                 channel in the pushed notice; the central storage medium                 being further able to store a second information input                 from a participant in response to said first information                 input and to associate it with said first information                 input while subsequently retaining said first                 information input or modifying or deleting said first                 information input in accordance with said second                 information input; the notice generator, responsive to                 said second information input, being able to generate a                 second notice selectively directed to at least one other                 participant in said distributed application, which at                 least one other participant may or may not include said                 inputting participant, the second notice comprising a                 channel to a memory location of said second information                 input in the central storage medium, and said second                 notice being pushed to said notice sender; said notice                 sender, responsive to said second notice being pushed,                 being capable of sending said second notice to the                 peripheral devices of the at least one participant to                 whom the second notice is selectively directed; and the                 central storage medium being further able to store a                 third information input from a participant in response                 to said second information input and associate it with                 said first and second information inputs while                 subsequently retaining said first and second information                 inputs or modifying or deleting one or both of said                 first and second information inputs in accordance with                 said third information input.

In some variations, each of the central agent and the central storage medium is physically either centralized or distributed, with components distributed among the participants' sites. In some implementations in which the central storage medium is distributed, information stored in the various locations is synchronized.

The notice generator may push the notice immediately or at the end of a predetermined period, when all notices generated during the preceding period are pushed together. The notice preferably comprises at least a summary of the information input (but may include the entire information input), and a link to the information input on the central storage medium. The notice generator may push notices via e-mail, narrowcasting, or a combination. Access to the central agent preferably requires using a password and a user identification (userID), and information inputs and notices may be encrypted. The userID and password, and any other necessary access information, are included as part of the link. In a preferred exemplary illustrative implementation, where a given participant is a participant in multiple distributed applications, a single channel is pushed as part of the notice, and the channel, when activated, links the participant to any information regarding any or all of the applications in which the participant participates.

The links may form a computer network, a cable network, a telecommunications network, a wireless network, a television network (cable or wireless), a radio network, or a combination. The central agent may reside as a program operating on at least one of a network server, an internet, an intranet, or it may reside, in a distributed fashion, on any or all of the participants' peripheral devices. The inputs are preferably retained in the central storage medium as a database archive for a predetermined period. The system may comprise a network server farm including a server selected from the group consisting of groupware, a video server, an audio server, a chat server, and a news server.

The central agent may comprise a database system, to which the links pushed to the participants bring the participants when they are activated; in some exemplary illustrative implementations, the database system is a relational database system, an object-relational database system or a flat-file database system. The central agent, in turn, accesses the central storage medium to push the information out to the participants.

In one exemplary illustrative implementation, different participants are granted different levels or privilege/access within the context of an application. In such a case, the central agent also implements, or includes means for, differentiating among such different levels of privilege/access and permitting only activities associated with such levels.

Different participants may use different peripheral devices, including PDAs, wireless telephones, personal computers, etc. In one exemplary illustrative implementation, the central agent is capable of manipulating the information being sent to and received from each peripheral device, according to its capabilities. For example, some such devices may only have audio capability, some may have multi-media capability, some may have visual-only capability, and they may have different formats.

The first information input is typically directed to a plurality of other participants, and the second information input may be directed to the first participant, another participant, or a plurality of participants. A person may be allowed to join in as a participant by forming a link with the person, and inviting the person to join. Alternatively, the individual initiating the application may opt to make the application public and thus open to participation by any individual desiring to become a participant, without invitations; such applications may be publicized, including by advertisement. In another exemplary illustrative implementation, individuals are invited to join only with authorization by some particular individual or individuals, who may be the initiating participant, his agent or agents, or other designated individuals.

In various exemplary illustrative implementations, the distributed application may be, among other things, at least one of a distributed discussion group, a distributed scheduling application, a distributed contact management application, a distributed document management application, and a distributed project management application.

In another exemplary illustrative implementation, a method of communicating information among participants in a distributed application having peripheral devices capable of transmitting and receiving information, comprises:

-   -   providing a central device capable of receiving information from         the peripheral devices and transmitting information to the         peripheral devices,     -   linking the central device to the peripheral devices,     -   responsive to a first information input transmitted from the         peripheral device of a first participant directed to at least         one other participant,         -   centrally receiving and storing the first information input,         -   associating the first information input with the at least             one other participant,         -   preparing a notice of the first information input for the at             least one other participant, the notice comprising a channel             to a memory location of the first information input, and         -   sending the notice to the peripheral device of the at least             one other participant only if the at least one other             participant is one to whom the associated information input             is directed,     -   responsive to a second information input by the at least one         other participant, in response to said notice,         -   centrally receiving, storing, and associating the second             information input with the first information input, while             retaining the first information input or modifying or             deleting the first information input in accordance with the             second information input,         -   preparing a second notice of the second information input             directed to at least one other participant, which may or may             not include said first participant, the second notice             comprising a channel to a memory location of the second             information input, and         -   sending the notice to the peripheral device of the at least             one other participant only if the at least one other             participant is one to whom the associated information input             is directed, and     -   responsive to a third information input by the at least one         other participant to whom said second notice was directed and in         response to said second notice,         -   centrally receiving, storing, and associating the third             information input with the first and second information             inputs, while retaining the first and second information             inputs or modifying or deleting one or both of the first and             second information inputs in accordance with the third             information input,         -   preparing a third notice of the third information input             directed to at least one other participant, the third notice             comprising a channel to a memory location of the third             information input, and         -   sending the third notice to the peripheral device of the at             least one other participant only if the at least one other             participant is one to whom the associated information input             is directed.

In another exemplary implementation, a computer readable medium comprises a program for carrying out the method.

Further objectives and advantages will become apparent from a consideration of the description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The advantages above are better understood by reading the following detailed description with reference to the accompanying figures, in which like reference numerals refer to like elements throughout, and in which:

FIG. 1 illustrates an exemplary prior art model for centripetal communication and collaboration in a group;

FIG. 2 illustrates an exemplary illustrative non-limiting centrifugal communication and collaboration method;

FIGS. 3-A to 3-C show flow charts for the asynchronous events in a responsive, rapid interaction among three individual members of a group. FIG. 3-A shows the flow of information from the initial input by member P₁. FIG. 3-B shows a response by member P₂ directed to member P₁. FIG. 3-C shows a response and comment by member P₃, directed to members P₁ and P₂;

FIGS. 4-A and 4-B show flow charts for the events in a slower interaction among three individual members of a group. FIG. 4-A shows the flow of information received at separate times from each of the members P₁-P₃. FIG. 4-B shows the flow of information periodically pushed to the members;

FIG. 5 depicts a general framework of an example non-limiting illustrative implementation;

FIG. 6 is a flow chart of information flow in an example non-limiting illustrative system;

FIG. 7 depicts a distributed implementation of CCCM according to an exemplary implementation; and

FIG. 8 depicts an example non-limiting illustrative implementation in which various devices are used by various participants.

DETAILED DESCRIPTION

In describing the technology herein illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the exemplary illustrative implementation is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner to accomplish a similar purpose.

In a prior art example shown in FIG. 1-A, an eight-member group is depicted as circles 1-8, connected to central repository 10. Each user must converge on the central repository 10 to obtain information. If a member does not converge, the member has no access to information that is contained in central repository 10, has no knowledge of whether the information in repository 10 has been changed or updated, and has no way of knowing if any new information is relevant to that particular member. Convergence must be done on a “blind” basis, and is typically done periodically, such as every day or twice a day, whether needed or not. Central repository 10 is essentially a database, presenting all information and making it available in a standardized fashion to each member to access and review. The information may be filtered to the individual members, but it must all be stored centrally for such a system to operate effectively.

In a schematic depiction of an example illustrative implementation of the technology herein, shown in FIG. 2, an eight member group is shown oriented around central core 20. Each member has a unique flow of information sent to and received from the central core 20, depicted as individual curved arrows 11-18. Members are notified when relevant information is posted at the central core 20, and may then retrieve the information knowingly. They need not converge blindly on the central core. In addition, because information is tailored and directed to individual members, the arrangement of information at the central core does not need to be a standardized database available to all members.

Example implementations include the following.

(1) Multi-participant distributed software applications, enabled with CCCM by programmed code intended to push out group-generated information by e-mail, narrowcasting, and other such distribution methods. Examples of such applications include distributed discussion groups, scheduling, contact management, project management, etc. For example, a group discussion software implementation contains software code that allows discussion content to be e-mailed to the entire set or a subset of participants. An additional program may run at a predefined interval to notify participants of what content is new, what has been read and what has not, or whether or not they have been requested to respond to a particular comment. The individualized e-mail contains such notifications, as well as a mouse-clickable Web hyperlink to the content. The Web hyperlink may in itself open a videoconference, or the Web hyperlink may open a window that contains channelized connections not only to the discussion and videoconference, but also to the schedule and address book of the participant. Another example is a group scheduling software implementation linked to a narrowcasting system that activates a narrowcasting client. The narrowcasting client then narrowcasts, say, the events of the day or of the month, or that an appointment is about to become due, or that an Internet presentation is about to begin, or that someone has replied to a comment in a group discussion. Both e-mail and narrowcasting can be done using one or multiple media, such as text, audio, video, and images.

(2) CCCM can be used in non-computer-based networks, provided there is bi-directional exchange of information, including telecommunication systems, newer versions of cable-based networks, wireless networks, television networks, radio networks, and others. The exemplary illustrative implementation does not much depend on how the network is linked. What is important is that each stored piece of information can be accessed via a channel, for example, a URL, that can be used over the network and that this channel can be transmitted to participants so that they can use it to access the information.

Many variations are possible in the technology used to distribute centrifugally group-generated information. Distribution may occur by e-mail, by narrowcasting, and by other electronic means. According to the exemplary illustrative implementation, there is no need for participants to converge at a central area, and the method is selective and deliberate as to what information is delivered. Participants need not remember to go to a central site for collaboration. CCCM makes participation more convenient than in prior-art methods and improves currently-existing communication and collaboration products, as well as those which may be developed in the future.

Applications may be self-initiated. In other words, in an Internet exemplary illustrative implementation, one person can identify e-mail addresses for a desired group of participants and set up the framework for a group application. The system pushes notices to the desired participants, as needed, with whatever URLs or other channels are necessary. The recipients, by clicking on the URLs or other channels, are brought to a central facility. In synchronous mode, the participants can communicate in streaming conversation and can scroll through messages. In asynchronous mode, the participants may participate and return at any time. If a participant has not returned for a predetermined time, a notice may be pushed to the participant (a) reminding him that a response is desired, (b) indicating that new information is available, or (c) providing a summary of recent activity.

Distributed applications may be set up with different types of access. In one exemplary illustrative implementation, an application is set up such that any participant may invite a non-participant to join. In another exemplary illustrative implementation, applications are made public, so that anyone may join (participants may even wish to encourage participation, for example, by advertising the application). In still another exemplary illustrative implementation, participation may be at the discretion of one or more particular participants; for example, the participant(s) who initiated the application may retain control over who may join as a participant, either directly or through one or more agents. This exemplary illustrative implementation may also be publicized to encourage participation, while the initiator(s) maintain control (for example, a person who wishes to join the application may need to apply for access). In another exemplary illustrative implementation, all, or any subset, of these different set-ups are implemented. Similarly, the system may permit one or more participants to police the application by removing a participant from the application altogether.

In a further, more general, exemplary illustrative implementation, different participants in a distributed application have different levels of privileges within the application. One example of this is, as above, where some participant(s) may have the privilege of controlling participation in the application. Another example is where participants have the privilege to edit or delete their own information inputs, and perhaps one participant or a particular group of “super-participants” has the privilege level to be able to edit or delete others' information inputs (an example of this might be a moderated discussion group). In a particular exemplary illustrative implementation, the (group of) participant(s) who initiate the application is vested with the power to grant or deny privileges to other participants. In any such exemplary illustrative implementation, the central agent has the capability of differentiating among different privilege levels of the various participants in an application.

FIGS. 3 and 4 depict an e-mail driven exemplary illustrative implementation of a distributed discussion group according to an exemplary illustrative implementation. FIGS. 3-A to 3-C represent a responsive continuous interaction among three individual members of a group. Although the events are asynchronous, they may be relatively rapid. Throughout, the agent 35 identifies and pushes the appropriate URLs to the appropriate people. In FIG. 3-A, member Person 1, identified as circle 31, initiates a session by providing an initial input A in a peripheral device such as a personal computer, as identified by box 34. In this example, input A is a question for members Person 2, identified as 32, and Person 3, identified as 33. The question could be “What is the status of Project X?” Agent 35 receives input A from member Person 1, selects the members to whom the input is relevant, in this case Person 2 and Person 3, and pushes and posts notice of activity with, for example, a hyperlink at the peripheral computers 36 and 37 for members Person 2 and Person 3. In addition, the agent 35 stores input A in central storage 38 as record A.

In FIG. 3-B, member Person 2 (box 32) receives notice A 36 as in the previous figure, and responds by clicking the hyperlink, box 40. This brings input A directly to member Person 2 from storage 38, and displays the question “What is the status of Project X?” as shown in box 41. Member Person 2 provides a status report to Person 1, which may include text, graphics, video, and audio, and inputs the report as input Response B, shown as box 42. Agent 35 selects Person 1 as the relevant member, pushes and posts notice B with hyperlink shown as box 43 on the peripheral device of Person 1, and stores input B as record B in central storage 38.

In FIG. 3-C, member Person 3 provides a response and comment directed to both of the other members. Person 3 responds to notice A by clicking the hyperlink, box 45. This brings input A directly to Person 3 from the central database, and displays the question “What is the status of Project X?” as shown in box 46. Member Person 3 provides a different status report, input C, and directed to both members Person 1 and Person 2, shown as box 47. Agent 35 selects members Person 1 and Person 2 as the relevant members, pushes and posts notice C with hyperlink shown as box 48 and 49 on the peripheral device of Person 1 and Person 2, and stores input C as a record in central storage 38.

FIGS. 4-A and 4-B show flow charts for a more extended asynchronous interaction among three individual members of a group with a periodic push setting. In FIG. 4-A, at time T₁, member Person 1 submits input comment D, shown as box 5 1. At time T₂, Person 2 submits input comment E, shown as box 52. At time T₃, Person 3 submits input comment F, shown as box 53. Each of inputs D, E, and F is intended for each of the other group members. As each of the inputs is received, agent 35 selects the intended recipients and stores the inputs in central storage 38 as records D, E, and F for periodic push and notification. The push period can be any desirable period, such as hourly, daily, or weekly. In some applications the push period may be minutes, seconds, or less.

In FIG. 4-B, after the elapsed predetermined period, at time T₄ (not shown in the figure), such as the next day if the system is set for daily notification, agent 35 pushes and posts individualized notices at the peripheral devices of the members. Members do not receive notices of their own inputs. Notice 56 for Person 1 refers to inputs E and F by Persons 2 and 3. Notice 57 for Person 2 refers to inputs D and F by Persons 1 and 3. Notice 58 for Person 3 refers to inputs D and E by Persons 1 and 2. If there are eight members of the group in this example, members 4-8 receive no notification, assuming they were not designated to receive any of the input comments D, E, and F. Thus, in this approach, members 1-3 are notified that there is information and are provided with a direct link to the central database to retrieve it. Other members do not need to take any action because there is no relevant new information for them, and they know that by the absence of a notice. In addition, the members for whom there is relevant information are not burdened by a constant flow of information, as with, for example, a list-server, and are shown only information relevant to them.

In the examples shown in FIGS. 3A-C and 4A-B, as discussed above, asynchronous operation may occur. It should be noted that asynchronous operation may be combined with real-time operation, for example, to result in instant notification of an information input. That is, notices of information inputs may be pushed to participants upon the reception of such information inputs at the central agent.

FIG. 5 shows a basic framework according to an exemplary illustrative implementation. Shown are two participant sites 75 and 76; there may be more than two, as well. Participants 75 and 76 communicate, via a communication medium 77, with the central CCCM system 70. The central CCCM system comprises a central agent 71. The central agent comprises, at least, communication means 72 and database 73, which may be embodied as a relational database, an object-relational database, a flat-file database, or any other database system. CCCM system 70 further comprises data storage, which may comprise any computer-readable medium.

In an example illustrative non-limiting implementation, data corresponding to distributed applications involving multiple participants, e.g., 75 and 76, is stored in data storage 74. Database 73 is set up so as to permit access to the records stored in data storage 74 as follows. A participant, say, 75, follows a channel to obtain a record stored in data storage 74. The channel is contained in a notice (e.g., an e-mail message) generated by the communication means 72. The channel leads to a specific record in database 73, which, in turn, points to the applicable record stored in data storage 74. A record in database 73 may also point to more than one stored record, for example, in a case in which the CCCM system informs the participant that there are several pieces of information intended for him/her; such a scenario may arise, for example, in the case in which a given user is a participant in more than one application or if several new pieces of information are present in a single application in which he/she is a participant. Following the channel would permit the participant to access any or all of the stored information records, in one or more applications, as desired by the participant. In one example implementation, the channel takes the participant to a list of his/her various applications or to such a list containing only those for which there is new information to be accessed.

The notice transmitted by communication means 72 may further contain information or flags relating to levels of urgency associated with the (various pieces of) information about which the notice is being sent; indication as to whether or not action is required; and the like.

Communication means 72 facilitates communication, via communication medium 77, with participants 75 and 76. Communication means 72 may include one or more mail servers, HTTP servers, narrowcasting means, broadcasting means, etc., according to the nature of communication medium 77. Furthermore, communication medium 77 may comprise more than one communication medium. For example, CCCM system 70 could transmit information to participants 75 and 76 via radio and could receive information from participants 75 and 76 via the Internet.

FIG. 6 shows an exemplary non-limiting implementation of a software structure. In particular, there are three primary components to the system in the exemplary illustrative implementation shown: central site 67, participant site 68, and a communication network, exemplified by the Internet in FIG. 6. Central site 67 includes implementations of HTTP server 62 (which may comprise plural HTTP servers), central agent 63, and an SMTP server 65, as well as including central storage 64. This exemplary illustrative implementation uses SMTP engine 65 of a mail server as the notice sender to perform an e-mail push. Central agent 63 includes a database 63a (which may be a relational database, an object-relational database, a flat-file database, or any other kind of database) and a notifier 63b. Centrifugal access programming for central agent 63 may be written according to conventional programming principles, and may be provided by a “middleware” product such as Radnet's Webshare (Cambridge, Mass.), Allaire's ColdFusion (Cambridge, Mass.), SilverStream's Web Application Platform (Irvine Calif.), or BlueStone's Sapphire/Web (Mount Laurel, N.J.); such programming implements database 63 a and notifier 63 b. A given participant site 68 includes implementations of web browser 61 and e-mail client 66.

Suppose, for example, that a given participant, at participant site 68, receives notification that there is information for him/her stored in central storage 64. In an exemplary illustrative implementation, this notification has the form of a description of or short portion of the information and a channel, which for the purposes of this exemplary illustrative implementation, is a URL. If the participant elects to access the stored information, he/she clicks on the URL, and Internet-connected web browser 61 accesses HTTP server 62 and is allowed, by means of database 63 a of central agent 63, to access central storage 64 to obtain a record of information in, for example, a multi-participant discussion group. The database 63 a retrieves the record from central storage 64 and presents it in HTML format to HTTP server 62, which, in turn, transmits it through the Internet to the participant's web browser 61.

If the user clicks to respond to the information he/she has received from central storage 64, and to notify the author who made the previous comment of this new response, the mail sent to notify this previous author must contain a URL 63′ corresponding to the actual stored record corresponding to the response. The mail also contains some indication 64′ of the content of the response. Upon reading the e-mail in 66, following or clicking on the URL 63′ will retrieve the stored response record automatically from the central storage 64, after clearing applicable authentication procedures such as password clearance.

In a similar fashion, if software agent 63 were running overnight counting a user's number of unread messages in a bulletin board-style Web discussion from central storage 64, the agent's 63 e-mail report to the user 66 would contain a URL of a database record that corresponds to one or more of the unread messages. The e-mail report would also contain indicia 64′ of the contents of the unread messages. This would permit the recipient to follow or click on the URL to retrieve one or more of the unread message records automatically from central storage 64 after clearing any authentication procedures.

In the exemplary illustrative implementation of FIG. 6, the interface between HTTP server 62 and central agent 63 may utilize one or more of the following: CGI (Common Gateway Interface); ISAPI (Internet Server Application Programming Interface (by Microsoft)), and NSAPI (Netscape Server Application Programming Interface). These are not the sole options for this software interface, but they are merely indicative of a particular implementation.

In a variation on the exemplary illustrative implementations of FIGS. 5 and 6, the central agent and/or the central storage are collocated at single participant site.

While FIGS. 5 and 6 depict the CCCM system in a centralized form, it is not necessarily the case that it is centralized. FIG. 7 depicts a scenario in which a CCCM system is implemented in distributed or semi-distributed form. As shown in FIG. 7, the central agent and the central storage may be implemented in a distributed fashion, at two or more participant sites, e.g., 80 and 81; such distributed implementations are shown as blocks 80 a, 80 b, 81 a, and 81 b. The CCCM system may also have some of its functionality implemented in a centralized fashion, as shown in block 82.

In a distributed implementation, information destined for a given participant, say participant 80, may be stored in storage 80 b, storage 81 b, or other storage facilities in the system. Suppose that participant 80 receives a message indicating that there is new information for his/her attention. Participant 80 then utilizes a channel included in the message to access an agent site, which may be 80 a, 81 a, or some other site (82), depending on the implementation. The agent site then performs the previously-described functions; however, if central storage is distributed, the database record accessed at the agent site will point to one or more different storage facilities. Access to remotely located storage facilities may be by direct access by the agent, or it may be by indirect access, through a remotely located agent (e.g., one collocated with the storage facility containing the desired information). Such a remotely located agent would contain a database record pointing to the desired information.

While the distributed schemes discussed above illustrate distribution of the central agent and/or the central storage among the participant sites, they may also be implemented in a distributed fashion at non-participant sites. For example, in one exemplary illustrative implementation, there are regional sites covering different geographic regions. The implementation may also be on a number of sites including both participant sites and non-participant sites.

In such distributed scenarios, the maintenance of up-to-date information in the various portions of the CCCM system is an important consideration. In particular, a given piece of information may be stored in more than one location. In an example illustrative implementation, information inputs stored in more than one location are synchronized with each other, either directly or via a central device. Such data synchronization may be done periodically or in real time, and it may be accomplished using any appropriate data synchronization technique.

It is apparent from these examples that the agent is interposed between the participants and the central storage, in contrast with conventional centripetal methods of collaboration. As a result the central storage need not be complete. Indeed, once an input has been pushed to all intended recipients, the storage could be purged, although in practice it may be preferable to keep a backup record of transactions in the group for at least a predetermined period (e.g., one month).

FIG. 8 depicts another example illustrative implementation. In this exemplary illustrative implementation, different devices 91-94 are used to interact with CCCM system 70 via one or more communication media 90. To accommodate such diverse devices, central agent 71 is implemented such that it is capable of manipulating the information to be sent to such a device according to the capabilities and capacities of the device. Suppose, for example, that a particular participant wishes to access a particular information record that contains graphics. If the participant is using, for example, a graphics-capable computer 91, central agent 71 will transmit the graphics. However, should the participant be using a device only capable of alphanumeric display, central agent 71 will either not send the graphical portion of the information or will adapt it for alphanumeric display. Similar manipulation may be performed for audio, alphanumerics, or other information, according to the participant's particular device. In a preferred exemplary illustrative implementation, such manipulation is performed automatically by central agent 71; however, in another exemplary illustrative implementation, central agent 71 is implemented so as to permit participants to select data formats, as desired, in addition to or instead of the manipulation being performed automatically.

Similarly, in a case where multiple communication media 90 are capable of being used, central agent 71 is implemented such that it is capable of manipulating the information to accommodate the capabilities and capacity of each particular medium. For example, different computer networks may be used, each having a different capacity (bit rate). Central agent 71 is able to manipulate the information to be transferred over each network such that the information is transmitted at the capacity of the network. This may amount, for example, to transmitting at different bit rates on different networks or to transmitting only some (most significant) portion of the information.

In a list-server, participants sign up to join the group independently and can remove themselves at will. Thus, no member can control the presence of the others. The list is formed individually by the sign up of each recipient. According to a preferred exemplary illustrative implementation, in contrast, each participant can push a notice to any other person available on the Internet via an e-mail message, to select an individualized and personalized group without requiring routing through a central list-server. Moreover, the central storage according to the exemplary illustrative implementation can be used to provide a threaded and scrollable record of relevant inputs, as opposed to the excessive number of individual e-mail messages in a list-server, which are not threaded or scrollable. Also, list servers generally do not use a database. A distinctive aspect of the exemplary illustrative implementation is “pushing” the URL (or retrievable handle) of a database record that needs to be seen in order to present stored information to the user.

The pattern of pushing that is done may depend on any or all of the following factors:

-   -   (1) the list of people identified by the inputting person;     -   (2) if the people identified are not already members of the         group, whether they join the group;     -   (3) whether there has been new activity relevant to a particular         member;     -   (4) whether there has been a response to a particular input;     -   (5) a predetermined update frequency.

In one preferred commercially viable exemplary illustrative implementation, a hypothetical group application includes participants 1, 2, 3 . . . n at n different locations. Each is given an e-mail notice of a group meeting, either asynchronous or scheduled at a particular time. At that time, or individually, they each re-open the e-mail message and follow a hyperlink that fires up a web browser and takes them directly to an e-meeting center, in this case a web page where they may converge. They provide passwords, if they have not already done so, and join.

For an on-demand conference, participants can read and post messages, read and post files, and publish and attend presentations and lectures. For a live conference, participants communicate and collaborate interactively in real time via video, audio, screen sharing, chat, whiteboard, and so on.

Several of the exemplary illustrative implementations described above describe the use of URLs as the channels sent as part of notifications; however, other types of channels may be used. For example, in computer applications, the channel may also take the form of a micro- or nano-http (web) server or a network socket connection. In other applications, the channel may take other forms, for example, a telephone call in an audio-based application (e.g., via telephone or wireless voice networks). To summarize, the channel may be any channel that can be used with the particular communication medium (or media) being use, and which is compatible with the application.

Modifications and variations of the above-described example implementations are possible without departing from the invention, as appreciated by those skilled in the art in light of the above teachings. It is therefore to be understood that, within the scope of the claims and their equivalents, the invention may be practiced otherwise than as specifically described. 

1. A computer-assisted method of facilitating group collaboration comprising: sending a resource locator to plural members of a group; receiving contributions from members of said group; dynamically changing content at least in part in response to said received contributions from said group members; and enabling access by said plural group members to said dynamically changed content based at least in part on use of said resource locator by said group members, wherein said access-enabling includes automatically customizing presentation of said content to accommodate capabilities available to said group members.
 2. The method of claim 1 wherein said sending comprises pushing said resource locator out to said plural group members.
 3. The method of claim 1 wherein said resource locator comprises a link.
 4. The method of claim 1 wherein said resource locator comprises a channel.
 5. The method of claim 1 wherein said resource locator comprises a URL.
 6. The method of claim 1 wherein said resource locator is voice activated.
 7. The method of claim 1 further including storing said contributions.
 8. The method of claim 1 further including storing said dynamically changed content for later access by said group members.
 9. The method of claim 1 wherein said access enabling includes delivering streaming information.
 10. The method of claim 1 wherein said access enabling includes delivering streaming audio and/or video.
 11. The method of claim 1 wherein said customizing includes controlling transmission rates depending on network access capabilities of said group members.
 12. The method of claim 1 wherein said above-mentioned steps are performed by a central agent.
 13. The method of claim 1 further including granting different levels of privilege/access to said dynamically changed content to different group members.
 14. The method of claim 1 wherein said customizing includes customizing presentation of said dynamically changed content for presentation on a PDA.
 15. The method of claim 1 wherein said customizing includes customizing presentation of said dynamically changed content for presentation on a wireless telephone.
 16. The method of claim 1 wherein said customizing includes customizing presentation of said dynamically changed content according to capabilities of a peripheral device a group member is using to access said dynamically changed content.
 17. The method of claim 1 wherein said method provides distributed discussion.
 18. The method of claim 1 wherein said method provides distributed scheduling.
 19. The method of claim 1 wherein said method provides distributed contact management.
 20. The method of claim 1 wherein said method provides distributed document management.
 21. The method of claim 1 wherein said method provides distributed project management.
 22. The method of claim 1 wherein said method further includes providing a distributed discussion template.
 23. The method of claim 1 wherein said method further includes providing a distributed scheduling template.
 24. The method of claim 1 wherein said method further includes providing a distributed contact management template.
 25. The method of claim 1 wherein said method further includes providing a distributed document management template.
 26. The method of claim 1 wherein said method further includes providing a distributed project management template.
 27. The method of claim 1 further including distributing storage of said dynamically changed content among a plurality of computing devices.
 28. The method of claim 27 wherein said computing devices are associated with respective members of said group.
 29. The method of claim 1 wherein said sending includes emailing said resource locator to members of said group without including said dynamically changed content within said email.
 30. The method of claim 29 further including said group members using said email to access said dynamically changed content.
 31. The method of claim 1 wherein said dynamically changing includes continuously changing said content over time.
 32. The method of claim 1 further including allowing said group members to create and continuously modify said content.
 33. The method of claim 1 further including dynamically changing said content with contributions of said group members and distributing said changed content out to said group members.
 34. The method of claim 1 further including modifying or deleting said content in response to additional contributions from said group members.
 35. The method of claim 1 wherein said resource locator takes a group member to a list containing only new content said group member has not previously accessed.
 36. A storage medium including program instructions which, when executed by at least one automatic computing device, facilitate group collaboration, said storage medium comprising: first instructions for sending a resource locator to plural members of a group; second instructions for receiving contributions from members of said group; third instructions for dynamically changing content at least in part in response to said received contributions from said group members; and fourth instructions for enabling access by said plural group members to said dynamically changed content based at least in part on use of said resource locator by said group members, wherein said access-enabling includes automatically customizing presentation of said content to accommodate capabilities available to said group members.
 37. A computer-assisted system for facilitating group collaboration comprising: A notifier that sends a resource locator to plural members of a group; A storage that receives contributions from members of said group and dynamically changes said content at least in part in response to said received contributions from said group members; and A server that enables access by said plural group members to said dynamically changed content within said storage based at least in part on use of said resource locator by said group members, wherein said server automatically customizes presentation of said content to accommodate capabilities available to said group members.
 38. The system of claim 37 wherein said notifier pushes said resource locator out to said plural group members.
 39. The system of claim 37 wherein said resource locator comprises a link.
 40. The system of claim 37 wherein said resource locator comprises a channel.
 41. The system of claim 37 wherein said resource locator comprises a URL.
 42. The system of claim 37 wherein said resource locator is voice activated.
 43. The system of claim 37 wherein said storage stores said dynamically changed content for later access by said group members.
 44. The system of claim 37 wherein said server delivers streaming information.
 45. The system of claim 37 wherein said server delivers streaming audio and/or video.
 46. The system of claim 37 wherein said server selects a data transmission rate depending on network access capabilities of said group members.
 47. The system of claim 37 wherein said notifier and storage together provide a central agent.
 48. The system of claim 37 wherein said server grants different levels of privilege/access to said dynamically changed content to different group members.
 49. The system of claim 37 wherein said server customizes presentation of said dynamically changed content for presentation on a PDA.
 50. The system of claim 37 wherein said server customizes presentation of said dynamically changed content for presentation on a wireless telephone.
 51. The system of claim 37 wherein said server customizes presentation of said dynamically changed content according to capabilities of a peripheral device a group member is using to access said dynamically changed content.
 52. The system of claim 37 wherein said system provides distributed discussion.
 53. The system of claim 37 wherein said system provides distributed scheduling.
 54. The system of claim 37 wherein said system provides distributed contact management.
 55. The system of claim 37 wherein said system provides distributed document management.
 56. The system of claim 37 wherein said system provides distributed project management.
 57. The system of claim 37 wherein said system delivers a distributed discussion template.
 58. The system of claim 37 wherein said system delivers a distributed scheduling template.
 59. The system of claim 37 wherein said system delivers a distributed contact management template.
 60. The system of claim 37 wherein said system delivers a distributed document management template.
 61. The system of claim 37 wherein said system delivers a distributed project management template.
 62. The system of claim 37 wherein said storage is distributed among a plurality of computing devices.
 63. The system of claim 62 wherein said computing devices are associated with respective members of said group.
 64. The system of claim 37 wherein said notifier has an email application that emails said resource locator to members of said group without including said dynamically changed content within said email.
 65. The system of claim 64 further including said group members use of said email to access said dynamically changed content.
 66. The system of claim 37 wherein said storage continuously changes said content over time.
 67. The system of claim 37 wherein said storage permits said group members to create and continuously modify said content.
 68. The system of claim 37 wherein said storage dynamically changes said content with contributions of said group members and distributes said changed content out to said group members.
 69. The system of claim 37 wherein said storage modifies or deletes said content in response to additional contributions from said group members.
 70. The system of claim 37 wherein said resource locator takes a group member to a list containing only new content said group member has not previously accessed.
 71. The system of claim 37 wherein said storage includes a database that accesses a further store, said further store storing said dynamically changed content, said database correlating said resource locator with said dynamically changed content stored by said further store.
 72. The system of claim 71 wherein said database permits a resource locator to access content changed after said resource locator was distributed.
 73. A computer-assisted system for facilitating group collaboration comprising: A notifier that distributes resource locators to plural members of a group; A storage that maintains contributions from members of said group and dynamically changes said contributions at least in part in response to information received from said group members; and An agent that enables access by said plural group members to said dynamically changed contributions said storage maintains, wherein said agent permits resource locators to access contributions changed after said resource locators were distributed.
 74. The method of claim 73 wherein said agent includes a database that correlates previously distributed resource locators with dynamically changed contributions.
 75. A method of facilitating group collaboration comprising: distributing resource locators to plural members of a group; maintaining, in a store, contributions from members of said group; dynamically changing said maintained contributions at least in part in response to information received from said group members; and enabling access by group members to maintained contributions changed after said resource locators were distributed.
 74. The method of claim 75 wherein said agent includes a database that correlates previously distributed resource locators with dynamically changed contributions within said store.
 76. The method of claim 1 wherein said access enabling includes authentication methods.
 77. The method of claim 76 wherein said authentication methods include use of passwords.
 78. The system of claim 37 wherein said access enabling includes authentication methods.
 79. The system of claim 78 wherein said authentication methods include use of passwords.
 80. The method of claim 1 wherein said automatically customizing presentation includes delivering one or more scrollable web pages.
 81. The system of claim 37 wherein said server delivers one or more scrollable web pages. 